This invention relates to data transmission, and has particular application in the transmission of audio or facsimile data that previously was conventionally sent over a telephone network but which is now often sent over a packet switched network such as the Internet.
Recently, it has become commonplace to transmit voice, facsimile and other information conventionally transmitted over the telephone network over a data network. The transmission of such information over data networks, such as the Internet, costs less and results in more efficient use of network bandwidth. Indeed, many engineers involved in Internet technology believe that within the next few years, virtually all telephone traffic will be conveyed over the Internet.
One problem which occurs due to the transmission of audio traffic over the Internet relates to the breaking up of such traffic into packets. Specifically, for the completion of a telephone call between two users over a conventional public switched telephone network (PSTN) connection, a circuit is constructed between those users. The full bandwidth of that circuit is available for use by the telephone call, and that bandwidth is usually more than what is required for the call.
When the call is conveyed over the Internet, the audio signal from either party is broken down into packets which are conveyed individually, sometimes using different paths, through the data network. When the packets exit the data network, they are used to reconstruct the analog audio signal for conveyance to the listening party.
FIG. 3 shows an exemplary architecture for the previously described Internet telephone call. More specifically, after call set-up, an audio signal originating at telephone 301 would travel over a circuit switched connection through PSTN 302 to a gateway 303. The gateway 303 packetizes the audio signal and conveys the packets as previously described over data network 304. The packets are received at gateway 305, often out of order due to the varying network delays experienced by the different packets, and are reassembled by gateway 305. The packets are then converted to analog audio, and the analog audio signal is conveyed through PSTN 306 to the telephone 307. As indicated by data connection 320 and computer 322, portions of the signals may or may not travel over the PSTN.
One problem with the architecture of FIG. 3 is the varying delays to which the packets are subjected as they travel through the Internet 304. If packets arrive out of order, they must be reassembled prior to converting the signal back to analog and conveying it to the other party. To facilitate such reordering of the packets at an exemplary receiving gateway 305, a buffer usually stores several arriving packets so that packets arriving later and out of order can be placed into the proper sequence prior to the conversion of the digital data to analog form by gateway 305.
In order to minimize xe2x80x9clatency,xe2x80x9d the delay that the audio signal experiences between the time it leaves telephone 301 and the time it arrives at telephone 307, it is desired to minimize the length of the foregoing described buffer. A long buffer means a long time that packets wait in the buffer before being conveyed. Thus, a long buffer means that there will be large latency, which is undesirable.
However, if the buffer is made too small, later arriving packets will be lost. For example, suppose the buffer length is set such that it holds each arriving packet for 250 milliseconds prior to sending it out to the receiver. Suppose two consecutive packets are transmitted, the first traversing the network in 500 milliseconds, and the second traversing the network in only 10 milliseconds. The second packet will arrive, be held at the receiving buffer for 250 milliseconds, and then sent to the receiver. The first packet will then arrive nearly a quarter of a second later. By the time the first packet arrives, the second packet has already been read out. Since the packets may represent audio, s it would then make no sense to read out the first packet after a later packet has already been read out.
Prior art systems exist which optimize the buffer length by performing calculations based upon a trade off between latency and probability of packet loss. Moreover, U.S. patent application Ser. No. 09/585,744 describes and claims a technique which dynamically adjusts the buffer size in response to the varying delays of packets through the network, in order to constantly maintain the optimal buffer size on a dynamic basis.
The problem with all prior techniques is that they fail to account for a group of packets that might be subject to a temporary and a typically excessive delay. This could happen, for example, if all of a sudden one of the network routers was taken out of service. Until the routing protocols responded by routing data around that router, there would be a sudden increase in delay through the network. This temporary a typical delay, called a xe2x80x9cgroup delayxe2x80x9d herein, results in several packets experiencing increased latency.
In view of the above, there exists a need in the art for a technique of trading off latency and probability of packet loss to achieve the proper buffer length in a receiving gateway, which technique also should account for temporary group delay through the Internet.